package com.wei.czz.framework.admin.service;

import com.wei.czz.common.dto.admin.UserAppealDto;
import com.wei.czz.common.tool.PageDto;
import com.wei.czz.framework.admin.entity.UserAppealEntity;


/**
 * Created by IntelliJ IDEA.
 *
 * @author wei
 * date: 2022-04-15 21:40:54
 * className: UserAppealService 用户申诉记录请求服务接口
 * version: 1.0
 * description:
 */
public interface UserAppealService {

    /**
     * 保存用户申诉记录操作
     * @param userAppeal 用户申诉记录对象
     */
    void saveOrEdit(UserAppealEntity userAppeal);

    /**
     * 分页查询申诉记录列表操作
     * @param riskFlowId 风控主键
     * @param pageNum      查询页码
     * @param limit        页大小
     * @return 操作结果
     */
    PageDto<UserAppealDto> getPageUserAppealList(Long riskFlowId, Integer pageNum, Integer limit);

    /**
     * 获取用户申诉记录操作
     * @param riskRecordId 风控主键
     * @return 用户申诉记录对象
     */
    UserAppealEntity getLastUserAppeal(Long riskRecordId);

    /**
     * 获取用户申诉内容操作
     * @param riskRecordId 用户风控记录主键
     * @return 用户申诉内容
     */
    UserAppealDto getUserAppeal(Long riskRecordId);

    /**
     * 获取用户申诉记录操作
     * @param riskFlowId 用户风控记录主键
     * @return 用户申诉记录对象
     */
    UserAppealEntity findLastOne(Long riskFlowId);

    /**
     * 更新用户申诉记录操作
     * @param userAppeal 用户申诉记录对象
     */
    void updateUserAppeal(UserAppealEntity userAppeal);

    /**
     * 删除用户申诉记录操作
     * 根据风控记录主键进行删除
     * @param riskRecordId 风控记录主键
     */
    void deleteAppeal(Long riskRecordId);

}

